#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include "genetic/ga.h"
#include "gui/graphicsmap.h"
#include "map.h"
#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    Map map;
    GraphicsMapScene *gMap;
    GA *ga;

    void updateViewSize();
    void setGaParam();

protected:
    void resizeEvent(QResizeEvent *event);
    void closeEvent(QCloseEvent *event);
private slots:
    void on_btn_start_clicked();
    void start();
    void updateCityInfo(City*);
    void updateGaInfo();

    void on_checkBox_full_stateChanged(int arg1);
};
#endif // MAINWINDOW_H
